package com.chenchao.collection;

import java.util.LinkedList;

/**
 * @encoding : UTF-8
 * @Time : 2020/11/12 19:54
 * @Author : Chen Chao
 * @File : javaSE.com.chenchao.javacollection.LinklistTest.java
 * @Software : IntelliJ IDEA
 * @since : 1.8
 */
public class LinklistTest {
    public static void main(String[] args) {
        //test();
        strackText();
    }
    public static void test(){
        LinkedList linkedList = new LinkedList();
        linkedList.add("gg1");
        linkedList.add("gg2");
        //在第一个位置添加元素
        linkedList.addFirst("noq1");
        linkedList.addFirst("noq2");
        System.out.println(linkedList);
        //在最后一个位置添加元素
        linkedList.addLast("last1");
        linkedList.addLast("last2");
        System.out.println(linkedList);
        //移除第一个/最后一个元素
        linkedList.removeFirst();
        linkedList.removeLast();
        System.out.println(linkedList);
        //根据角标获取元素
        //linkedList查询比较慢，它要一个一个找（有优化算法），没有序号
        System.out.println(linkedList.get(3));
    }

    /**
     * 栈模拟
     */
    public static void strackText(){
        Strack strack = new Strack();
        strack.push("gg0");
        strack.push("gg1");
        strack.push("gg2");
        System.out.println(strack);
        strack.pop();
        System.out.println(strack);
    }
}
class Strack{
    LinkedList linkedList;
    public Strack() {
        linkedList = new LinkedList();
    }
    void push(Object obj){
        linkedList.addLast(obj);
    }
    void pop(){
        linkedList.removeLast();
    }

    @Override
    public String toString() {
        return "Strack{" +
                "linkedList=" + linkedList +
                '}';
    }
}